#ifndef CAMERA_H
#define CAMERA_H


class Camera
{
public:
	Camera();
	~Camera();

	void setPosition(double _x, double _y, double _z);
	void setRotation(double _angle, double _x, double _y, double _z); //angle around the vector.
	void setRotation(double _x, double _y, double _z); //Euler angles applied xyz.
	void translate(double _x, double _y, double _z);
	void rotate(double _x, double _y, double _z);

	float* getPosition();

	void draw();

private:
	float pos[3];
	float xPos;
	float yPos;
	float zPos;

	float angle;
	float xVec;
	float yVec;
	float zVec;

	float xRot;
	float yRot;
	float zRot;

	bool vecRot;
	bool EulerRot;

};

#endif // CAMERA_H
